@function sassy-text-shadow($color: gray, $iterations: 100, $rad: 50, $deg: 360, $cos-i: 180, $sin-i: 180, $color-multiplier: 0) {
  $output: '';
  $end: $iterations;
  $radius: $rad;
  @for $i from 1 through $end {
    $color: rgba($color, ($i / $end));
    $color: adjust-hue($color, $i * $color-multiplier);
    $position: $deg / $end * $i;
    $cos: cos($position * (pi() / $cos-i));
    $x-position: $radius * $cos;
    $sin: sin($position * (pi() / $sin-i));
    $y-position: $radius * $sin;
    $spread: $i / ($iterations / 10);
    $output: $output + '#{$color} #{$x-position}px #{$y-position}px #{$spread}px';
     @if $i < $end {
       $output: $output + ', ';
     }
  }
  @return unquote($output);
}

@function long-shadow($deg: 45, $color: gray, $iterations: 100, $spread: 2px) {
  $output: '';
  $color: $color;
  $end: $iterations;
  $radius: 0;
  $start: 180;
  @for $i from 1 through $end {
    $radius: $radius + 1;
    $cos: cos($deg * (pi() / $start));
    $x-position: $radius * $cos;
    $sin: sin($deg * (pi() / $start));
    $y-position: $radius * $sin;
    $output: $output + '#{$color} #{$x-position}px #{$y-position}px #{$spread}';
    @if $i < $end {
      $output: $output + ', ';
    }
  }
  @return unquote($output);
}
